package org.soderiakelvy.model.services.testCase;

import static org.junit.Assert.*;

import java.util.List;

import junit.framework.Assert;

import org.junit.BeforeClass;
import org.junit.Test;
import org.soderiakelvy.model.dao.SucursalProductoDao;
import org.soderiakelvy.model.domain.SucursalProductoVO;
import org.soderiakelvy.model.domain.SujetoVO;
import org.soderiakelvy.model.domain.TipoProductoVO;
import org.soderiakelvy.model.service.ProductoServicio;
import org.soderiakelvy.model.service.SucursalServicio;
import org.soderiakelvy.model.service.SujetoServicio;
import org.soderiakelvy.model.service.imp.ProductoServicioImp;
import org.soderiakelvy.model.service.imp.SucursalServicioImp;
import org.soderiakelvy.model.service.imp.SujetoServicioImpl;
import org.soderiakelvy.model.util.ConstantModel;

public class TestSucursalProducto {
	//@BeforeClass

	
	@Test
	public void testSucursalProductoCrud(){
		
		SucursalServicio ss = new SucursalServicioImp();
		SucursalProductoVO spVO = new SucursalProductoVO();
		ProductoServicio ps = new ProductoServicioImp();
		
		
	
		spVO.setSucursal(null);
		
		
		//----------- TEST  DE ALTA DE UN SUCURSAL PRODUCTO ------------------
		Assert.assertEquals(ConstantModel.SUCCESS,ss.insertSucursalProductoVO(spVO));
		System.out.println("TEST ALTA OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST  DE UPDATE UN SUCURSAL PRODUCTO -----------------------------
	//	spVO.setCantidad(11);
		Assert.assertEquals(ConstantModel.SUCCESS,ss.updateSucursalProductoVO(spVO));
		System.out.println("TEST UPDATE OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST  DE OBTENER UN SUCURSAL PRODUCTO POR SU ID ------------------
		Assert.assertNotNull(ss.getSucursalProductoById(spVO.getSucursalProductoId()));
		System.out.println("TEST OBTENER UN SUCURSAL PRODUCTO OK");
		//-----------------------------------------------------------------------------
		
		//----------- TEST  DE ELIMINACION UN TIPO DE PRODUCTO ------------------------
		Assert.assertEquals(ConstantModel.SUCCESS,ss.deleteSucursalProductoVO(spVO));
		System.out.println("TEST ELIMINAR OK");
		//-----------------------------------------------------------------------------

		//----------- TEST  DE GETALL TIPO DE PRODUCTO ------------------------
		List<SucursalProductoVO> sucursalProductos = ss.getSucursalesProductos();
		Assert.assertEquals(sucursalProductos.size(), 1);
		for(SucursalProductoVO sp1 : sucursalProductos){
			System.out.println(sp1);
		}
		
		System.out.println("TEST GETALL OK");
		//-----------------------------------------------------------------------------
	}

}
